package 设计模式.创建者模式.单例模式.懒汉式_静态内部类;

import java.lang.reflect.Constructor;

/**
 * @Author: kirito
 * @Date: 2024/3/8 11:38
 * @Description: 破坏单例模式
 * 1.序列化
 * 2.反射
 *
 */

public class Client {
    public static void main(String[] args) throws Exception {
        //获取字节码对象
        Class clazz = Singleton.class;
        //获取无参构造方法对象
        Constructor cons = clazz.getDeclaredConstructor();
        //取消访问检查
        cons.setAccessible(true);
        //创建Singleton对象
        Singleton o = (Singleton) cons.newInstance();
        Singleton o1 = (Singleton) cons.newInstance();

        //false   破坏了单例模式
        System.out.println(o == o1);
    }
}
